home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BBS Toolkit
/
BBS Toolkit.iso
/
pc_board
/
callerup.zip
/
CALLERUP.C
next >
Wrap
Text File
|
1991-10-06
|
2KB
|
85 lines
#include <stdio.h>
#include <dir.h>
#include "tools.h"
#include <fcntl.h>
typedef struct {
char date[9];
char time[9];
char comment[44];
char eol[2];
} caller_struct;
char *line = "**************************************************************\r\n";
char *space= " \n";
caller_struct comment;
caller_struct caller_file;
int fd,stat,bflg,eflg,tflg;
void set_date_time(void){
char buffer[15];
char buffer1[15];
Get_Date(buffer,'-');
sprintf(comment.date,"%s ",buffer);
Get_Time(buffer,':');
sprintf(comment.time,"(%s) ",buffer);
strcpy(comment.eol,"\r\n");
}
int process_args(int argcnt, char *args[]){
char buffer[200]={"\0"};
int i,a;
for(i=1;i<argcnt;i++){
if ((strcmp(args[i],"/B"))==0);
else if ((strcmp(args[i],"/E"))==0);
else if ((strcmp(args[i],"/T"))==0);
else {
strcat(buffer,args[i]);
strcat(buffer," "); }
}
strcat(buffer,space);
if (tflg==1){
strncpy(comment.date,space,6);
strncpy(&comment.date[6],buffer,56);
}else
strncpy(comment.comment,buffer,44);
}
void open_wfile(char *caller){
int i;
struct ffblk f;
long file_pos;
char outbuff[80];
if(findfirst(caller,&f,0)){printf("caller file does not exist!");exit(1);}
if((fd=_open(caller,O_WRONLY|O_BINARY|O_DENYWRITE))==-1){
printf("\nError attempting to write %s\a\n",caller);
exit(1);}
stat = lseek(fd,f.ff_fsize,SEEK_CUR);
if(bflg==1) write(fd,line,sizeof(caller_file));
write(fd,&comment,sizeof(comment));
if(eflg==1) write(fd,line,sizeof(caller_file));
close(fd);
}
void parse_args(int argcnt, char *args[]){
int i;
eflg=0;
bflg=0;
for(i=1;i<argcnt;i++){
if((strcmp(args[i],"/B"))==0) bflg=1;
if((strcmp(args[i],"/E"))==0) eflg=1;
if((strcmp(args[i],"/T"))==0) tflg=1;
}
}
main(int argc, char *argv[]){
long num_lines;
char caller[85];
memset(caller,'\0',85);
Readfile("PCBOARD.DAT",caller,30);
strcat(caller,getenv("PCBNODE"));
parse_args(argc,argv);
set_date_time();
process_args(argc,argv);
open_wfile(caller);
}